A mobile computing system such as a so-called laptop or notebook computer has one or more battery packs, each typically comprising two or more cells, to provide the system with power when a power source (e.g., an AC adaptor) is not available. When the power source is coupled to the mobile system, it provides power to the system to operate and if there is available power left over, it will normally also charge the battery pack. For power sources to have sufficient power to perform both of these tasks, they usually generate a voltage that is higher than that of the battery pack, especially when the battery pack is fully discharged. Unfortunately, in some cases, battery packs cannot be charged if the voltage difference is high enough to result in excessive current being fed into the battery pack, which can result in over-current and/or over-heating conditions causing the charging to be terminated. Accordingly, a new approach would be desired.